package com.hxzy.drvier.resp;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * @Author wy
 * @Description 司机信息
 * @Date 2023/12/12 11:20
 * @Version 1.0
 */
@Getter
@Setter
@ToString
public class DriverResp {
    private Long id;

    /**
     * 小程序长期授权
     */
    private String openId;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 姓名
     */
    private String name;

    /**
     * 性别 ( 0：未知、1：男、2：女)
     */
    private String sex;

    /**
     * 头像
     */
    private String photo;

    /**
     * 身份证号码
     */
    private String pid;

    /**
     * 生日
     */
    private Date birthday;

    public void setBirthday(Date birthday) {
        if(birthday==null){
            this.birthday=null;
        }else {
            this.birthday = (Date) birthday.clone();
        }
    }

    public Date getBirthday() {
        if(this.birthday==null) {
            return null;
        }
        return (Date) birthday.clone();
    }

    /**
     * 电话
     */
    private String tel;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 收信地址
     */
    private String mailAddress;

    /**
     * 应急联系人
     */
    private String contactName;

    /**
     * 应急联系人电话
     */
    private String contactTel;

    /**
     * 1未认证，2已认证，3审核中
     */
    private Integer realAuth;

    /**
     * 身份证地址
     */
    private String idcardAddress;

    /**
     * 身份证有效期
     */
    private Date idcardExpiration;

    public void setIdcardExpiration(Date idcardExpiration) {
        if(idcardExpiration==null){
            this.idcardExpiration=null;
        }else {
            this.idcardExpiration = (Date) idcardExpiration.clone();
        }
    }

    public Date getIdcardExpiration() {
        if(this.idcardExpiration==null){
            return null;
        }
        return (Date) idcardExpiration.clone();
    }

    /**
     * 身份证正面
     */
    private String idcardFront;

    /**
     * 身份证背面
     */
    private String idcardBack;

    /**
     * 手持身份证
     */
    private String idcardHolding;

    /**
     * 驾驶证类型
     */
    private String drcardType;

    /**
     * 驾驶证有效期
     */
    private Date drcardExpiration;

    public Date getDrcardExpiration() {
        if(this.drcardExpiration==null){
            return null;
        }
        return (Date) drcardExpiration.clone();
    }

    public void setDrcardExpiration(Date drcardExpiration) {
        if(drcardExpiration==null){
            this.drcardExpiration=null;
        }else {
            this.drcardExpiration = (Date) drcardExpiration.clone();
        }
    }




    /**
     * 驾驶证初次领证日期
     */
    private Date drcardIssueDate;

    public Date getDrcardIssueDate() {
        if(this.drcardIssueDate==null){
            return null;
        }
        return (Date) drcardIssueDate.clone();
    }



    public void setDrcardIssueDate(Date drcardIssueDate) {
        if(drcardIssueDate==null){
            this.drcardIssueDate=null;
        }else {
            this.drcardIssueDate = (Date) drcardIssueDate.clone();
        }
    }

    /**
     * 驾驶证正面
     */
    private String drcardFront;

    /**
     * 驾驶证背面
     */
    private String drcardBack;

    /**
     * 手持驾驶证
     */
    private String drcardHolding;

    /**
     * 家庭地址，包含地址和定位，用于回家导航
     */
    private Object home;

    /**
     * 摘要信息，level等级，totalOrder接单数，weekOrder周接单，weekComment周好评，appeal正在申诉量
     */
    private Object summary;

    /**
     * 是否在腾讯云归档存放司机面部信息
     */
    private Integer archive;

    /**
     * 状态，1正常，2禁用，3.降低接单量
     */
    private Integer status;

    /**
     * 注册时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    public Date getCreateTime() {
        if(this.createTime==null){
            return null;
        }
        return (Date) createTime.clone();
    }

    public void setCreateTime(Date createTime) {
        if(createTime==null){
            this.createTime=null;
        }else {
            this.createTime = (Date) createTime.clone();
        }
    }


}
